<?php
if( isset($_GET['CURP']) ){
    $curp = $_GET['CURP'];
}else{
    echo "NO HAY CURP, OBLIGATORIO.";
    exit;
}
//  Conexion ODBC
$DBQ = realpath("C:/opl/Nomina/Datos/2014/Datos001/");
$DBQ .= "\Empleado.nom\\!";
$dsn = "
    Driver={Topspeed ODBC Driver};DSN=Empleado;DBQ=$DBQ;Extension=*;Oem=N;Datefield=%fecha%;NullEmptyStr=N;NoDot=N;UlongAsDate=N;";
$con = odbc_connect($dsn,null,null);

//  Conexion MySQL
include "obj_funct.php";
//  Obtengo datos desde CNUEVOS, donde CURP
$cnuevos = mysqli_query($MySQLiP,"SELECT * FROM rh.cnuevos WHERE CURP = '$curp'")or die(mysqli_error($MySQLiP));
$cnuevos = mysqli_fetch_array($cnuevos,MYSQLI_ASSOC);

$duxsis = $cnuevos;

$keys = array_keys($cnuevos);
$cnuevos['CODIGOANTERIOR'] = Lpad($cnuevos['CODIGOANTERIOR'],5,0);
$flag['estatus'] = $cnuevos['ESTATUS']; //Este me sirve para ver si inserto o no en duxsis.empleados
$cnuevos['ESTATUS'] = 'Alta';
$cnuevos['NOMBRECOMPLETO'] = $cnuevos['APELLIDOPATERNO']." ".$cnuevos['APELLIDOMATERNO']." ".$cnuevos['NOMBRES'];
// Hay que dar correcto formato a las fechas
$cnuevos['NOMBREPADRE']         = date('d/m/Y', strtotime($cnuevos['NOMBREPADRE']) );
$cnuevos['NOMBREMADRE']         = date('d/m/Y', strtotime($cnuevos['NOMBREMADRE']) );
$cnuevos['FECHAINICIO']         = "{d '".date('Y-m-d', strtotime($cnuevos['FECHAINICIO']))."'}";
$cnuevos['FECHAINICIOPUESTO']   = "{d '".date('Y-m-d', strtotime($cnuevos['FECHAINICIOPUESTO']))."'}";
$cnuevos['SIGUIENTENOMINA']     = "{d '".date('Y-m-d', strtotime($cnuevos['SIGUIENTENOMINA']))."'}";
$cnuevos['FECHAULTIMANOMINA']   = "{d '".date('Y-m-d', strtotime($cnuevos['FECHAULTIMANOMINA']))."'}";
$cnuevos['FECHANACIMIENTO']     = "{d '".date('Y-m-d', strtotime($cnuevos['FECHANACIMIENTO']))."'}";

$sql = "INSERT INTO Empleado (\"CODIGO\", \"CODIGOANTERIOR\", \"CURP\") VALUES ('$cnuevos[CODIGO]', '$cnuevos[CODIGOANTERIOR]', '$cnuevos[CURP]')";

odbc_exec($con,$sql);

foreach($keys as &$llave){
    if($cnuevos[$llave] == ''){
        $cnuevos[$llave] = '';
    }
    
    if(!is_numeric($cnuevos[$llave])){
        $comp = substr($cnuevos[$llave],0,1);
        if($comp <> "{"){
            $cnuevos[$llave] = "'".$cnuevos[$llave]."'";
        }
    }
    
    $sqm = "UPDATE Empleado SET \"$llave\" = $cnuevos[$llave] WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
    
    if(@odbc_exec($con,$sqm) == false){
        echo "<i>NO se inserto $llave , valor $cnuevos[$llave]</i><br/>";
    }
    else
    {
        echo "<strong>Se inserto $llave , valor $cnuevos[$llave]</strong><br/>";
    }
}

//  Chucky
$chuky = array();
$chuky[] = "UPDATE Empleado SET \"CODIGO\" = '$cnuevos[CODIGO]' WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
$chuky[] = "UPDATE Empleado SET \"CODIGOANTERIOR\" = '$cnuevos[CODIGOANTERIOR]' WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
$chuky[] = "UPDATE Empleado SET \"IMSS\" = '$cnuevos[IMSS]' WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
$chuky[] = "UPDATE Empleado SET \"NUMEROEXTERIOR\" = '$cnuevos[NUMEROEXTERIOR]' WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
$chuky[] = "UPDATE Empleado SET \"CP\" = '$cnuevos[CP]' WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
$chuky[] = "UPDATE Empleado SET \"TELEFONO1\" = $cnuevos[TELEFONO1] WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";
$chuky[] = "UPDATE Empleado SET \"CATALOGOBANCOS\" = '$cnuevos[CATALOGOBANCOS]' WHERE CODIGOANTERIOR = '$cnuevos[CODIGOANTERIOR]'";

var_dump($chuky);

foreach($chuky as $ch){
    odbc_exec($con,$ch)or die(odbc_errormsg($con));
}

//  Obtengo las bajas del DUX.Empleados

$exe = odbc_exec($con,"SELECT * FROM Empleado ORDER BY CODIGOANTERIOR");
while(odbc_fetch_array($exe)){
    $empl['nomina'] = (int)odbc_result($exe,"CODIGOANTERIOR");
    $empl['estats'] = odbc_result($exe,"ESTATUS");
    $sql = "UPDATE duxsis.empleados SET ESTATUS = '$empl[estats]' WHERE CODIGOANTERIOR = '$empl[nomina]'";
    mysqli_query($MySQLiP,$sql);
}

odbc_close($con);

if($flag['estatus'] == 'Becado')
{
//  Obtengo en base a CURP, su CODIGOANTERIOR
    $codigo = mysqli_query($MySQLiP,"SELECT * FROM rh.cnuevos WHERE CURP = '$curp'");
    $codigo = mysqli_fetch_array($codigo,MYSQLI_ASSOC);
    var_dump($codigo);
    
//  Cambiar # en RLX.epleadosrelox
    $cambio = (int)$cnuevos['CODIGOANTERIOR'];
    $sql = "UPDATE relox.empleadosrelox SET Empleados_nomina = $cambio, Nombre = Empleados_nomina WHERE Empleados_nomina = $codigo[CODIGOANTERIOR]";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
    
//  Cambiar # en RLX.pro_cardat
    $sql = "UPDATE relox.pro_cardat SET empleado = $cambio WHERE empleado = $codigo[CODIGOANTERIOR]";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
    
//  Cambiar # en RLX.asistencia
    $sql = "UPDATE relox.asistencia SET nomina = $cambio WHERE nomina = $codigo[CODIGOANTERIOR]";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
    
//  Cambiar estatus en cnuevos
    $sql = "UPDATE rh.cnuevos SET ESTATUS = 'Alta' WHERE CODIGOANTERIOR = $codigo[CODIGOANTERIOR]";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
    
//  Cambiar estatus en cnuevos
    $sql = "UPDATE duxsis.empleados SET ESTATUS = 'Alta' WHERE CODIGOANTERIOR = $codigo[CODIGOANTERIOR]";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
}else
{
//  Inserto en duxsis.empleados
    
    foreach($duxsis as &$campo){$campo = "\"".$campo."\"";}
    $field = implode(', ',$keys);
    $value = implode(', ',$duxsis);
    $sql = "INSERT INTO duxsis.empleados($field) VALUES($value)";

    mysqli_query($MySQLiP,$sql);

//  Inserto en rh.contratos
    $field = "nomina, Cont_siguente, Cont_ultimo";
    $value = "$duxsis[CODIGOANTERIOR], '$duxsis[NOMBREMADRE]', '$duxsis[NOMBREPADRE]'";
    $sql = "INSERT INTO rh.contratos($field) VALUES($value)";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
    
//  Cambiar estatus en cnuevos
    $sql = "UPDATE rh.cnuevos SET ESTATUS = 'Alta' WHERE CODIGOANTERIOR = $duxsis[CODIGOANTERIOR]";
    var_dump($sql);
    mysqli_query($MySQLiP,$sql);
}

$sql = "
    UPDATE relox.empleadosrelox
    INNER JOIN duxsis.empleados
    ON relox.empleadosrelox.Empleados_nomina = duxsis.empleados.CODIGOANTERIOR
    SET relox.empleadosrelox.Especial = -1
    WHERE duxsis.empleados.ESTATUS = 'Baja'";
mysqli_query($MySQLiP,$sql);

?>
<p>Terminado, cierre esta pagina.</p>